home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-08 | 11.2 KB | 369 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWIters.h
- // Release Version: $ 1.0d11 $
- //
- // Copyright: © 1995 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
- //
- // This file contains all the iterators defined by ODF.
- //
- // - FW_CFacetIterator
- // Wrapper for ODFacetIterator, safe for exception.
- //
- // - FW_CFrameFacetIterator
- // Allows you to iterator through all the facets of a display frame.
- //
- // - FW_CEmbeddedODFacetsIterator
- // Iterates trought all the facets embedded in one of your display facet for a specific proxy.
- // If the embedding facet is NULL, returns all the embedded facets for a proxy.
- //
- // - FW_CProxyODFramesIterator
- // Iterates trought all the frames belonging to a FW_MProxy.
-
-
- #ifndef FWITERS_H
- #define FWITERS_H
-
- #ifndef FWSTDDEF_H
- #include "FWStdDef.h"
- #endif
-
- #ifndef FWAUTODE_H
- #include "FWAutoDe.h"
- #endif
-
- #ifndef FWPART_H
- #include "FWPart.h"
- #endif
-
- #ifndef FWPXYFRM_H
- #include "FWPxyFrm.h"
- #endif
- // ----- ODUtil -----
-
- #ifndef FWORDCOL_H
- #include "FWOrdCol.h"
- #endif
-
- // ----- OpenDoc Includes -----
-
- #ifndef SOM_ODFacetIterator_xh
- #include <FacetItr.xh>
- #endif
-
- #ifndef SOM_ODFrameFacetIterator_xh
- #include <FrFaItr.xh>
- #endif
-
- #if FW_LIB_EXPORT_PRAGMAS
- #pragma lib_export on
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CPart;
- class FW_CLASS_ATTR FW_CFrame;
- class FW_CLASS_ATTR FW_CEmbeddingFrame;
- class FW_CLASS_ATTR FW_MProxy;
- class FW_CLASS_ATTR FW_CFrameFacetIterator;
- class FW_CLASS_ATTR ODFacet;
- class FW_CLASS_ATTR ODFrame;
- class FW_CLASS_ATTR FW_CProxyODFramesIterator;
- class FW_CLASS_ATTR FW_CPublishLink;
- class FW_CLASS_ATTR FW_CSubscribeLink;
-
- //========================================================================================
- // class FW_CODFrameFacetIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CODFrameFacetIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CODFrameFacetIterator(Environment* ev, ODFrame* odFrame);
- virtual ~FW_CODFrameFacetIterator();
-
- ODFacet* First(Environment* ev)
- {return fODFrameFacetIte->First(ev);}
- ODFacet* Next(Environment* ev)
- {return fODFrameFacetIte->Next(ev);}
-
- FW_Boolean IsNotComplete(Environment* ev)
- {return fODFrameFacetIte->IsNotComplete(ev);}
-
- private:
- ODFrameFacetIterator *fODFrameFacetIte;
- };
-
- //========================================================================================
- // class FW_CFrameFacetIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CFrameFacetIterator : public FW_CODFrameFacetIterator
- {
- public:
- FW_CFrameFacetIterator(Environment* ev, const FW_CFrame* frame);
- virtual ~FW_CFrameFacetIterator();
- };
-
- //========================================================================================
- // class FW_CFacetIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CFacetIterator FW_AUTO_DESTRUCT_OBJECT
- {
-
- public:
- FW_CFacetIterator(Environment* ev,
- ODFacet* facet,
- ODTraversalType traversalType,
- ODSiblingOrder siblingOrder);
- ~FW_CFacetIterator();
-
- ODFacet* First(Environment* ev)
- {return fODFacetIterator->First(ev);}
- ODFacet* Next(Environment* ev)
- {return fODFacetIterator->Next(ev);}
- FW_Boolean IsNotComplete(Environment* ev)
- {return fODFacetIterator->IsNotComplete(ev);}
- void SkipChildren(Environment* ev)
- {fODFacetIterator->SkipChildren(ev);}
-
- private:
- ODFacetIterator *fODFacetIterator;
- };
-
- //========================================================================================
- // class FW_CPresentationFrameIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CPresentationFrameIterator FW_AUTO_DESTRUCT_OBJECT
- {
-
- public:
- FW_CPresentationFrameIterator(FW_CPresentation* presentation);
- ~FW_CPresentationFrameIterator();
-
- FW_CFrame* First()
- {return (FW_CFrame*)fIterator->First();}
- FW_CFrame* Next()
- {return (FW_CFrame*)fIterator->Next();}
- FW_CFrame* Last()
- {return (FW_CFrame*)fIterator->Last();}
- FW_CFrame* Previous()
- {return (FW_CFrame*)fIterator->Previous();}
- FW_Boolean IsNotComplete()
- {return fIterator->IsNotComplete();}
-
- private:
- FW_COrderedCollectionIterator* fIterator;
- };
-
- //========================================================================================
- // class FW_CPresentationFacetIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CPresentationFacetIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CPresentationFacetIterator(Environment* ev, FW_CPresentation* presentation);
- ~FW_CPresentationFacetIterator();
-
- ODFacet* First(Environment* ev);
- ODFacet* Next(Environment* ev);
- FW_Boolean IsNotComplete(Environment* ev)
- {return fCurrentFacet != NULL;}
-
- private:
- ODFacet* ResetFacetIterator(Environment* ev, FW_CFrame* frame);
-
- private:
- FW_CPresentationFrameIterator fFrameIterator;
- FW_CFrameFacetIterator* fFacetIterator;
- ODFacet* fCurrentFacet;
- };
-
- //========================================================================================
- // FW_CEmbeddedODFacetsIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CEmbeddedODFacetsIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CEmbeddedODFacetsIterator(Environment* ev, const FW_MProxy* proxy, ODFacet* embeddingFacet, ODSiblingOrder siblingOrder);
- ~FW_CEmbeddedODFacetsIterator();
-
- ODFacet* First(Environment* ev);
- ODFacet* Next(Environment* ev);
- FW_Boolean IsNotComplete(Environment* ev);
-
- private:
- void FindNext(Environment* ev);
-
- private:
- ODFacetIterator* fODFacetIterator;
- const FW_MProxy* fProxy;
- ODFacet* fODFacet;
- };
-
- //========================================================================================
- // class FW_CProxyProxyFrameIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CProxyProxyFrameIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CProxyProxyFrameIterator(const FW_MProxy* proxy);
- ~FW_CProxyProxyFrameIterator();
-
- FW_CProxyFrame* First()
- {return (FW_CProxyFrame*)fIterator->First();}
- FW_CProxyFrame* Next()
- {return (FW_CProxyFrame*)fIterator->Next();}
- FW_CProxyFrame* Last()
- {return (FW_CProxyFrame*)fIterator->Last();}
- FW_CProxyFrame* Previous()
- {return (FW_CProxyFrame*)fIterator->Previous();}
- FW_Boolean IsNotComplete()
- {return fIterator->IsNotComplete();}
-
- private:
- FW_COrderedCollectionIterator *fIterator;
- };
-
- //========================================================================================
- // class FW_CProxyEmbeddedFrameIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CProxyEmbeddedFrameIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CProxyEmbeddedFrameIterator(Environment* ev, const FW_MProxy* proxy);
- ~FW_CProxyEmbeddedFrameIterator();
-
- ODFrame* First(Environment* ev);
- ODFrame* Next(Environment* ev);
- ODFrame* Last(Environment* ev);
- ODFrame* Previous(Environment* ev);
- FW_Boolean IsNotComplete(Environment* ev)
- {return fIterator.IsNotComplete();}
-
- private:
- ODFrame* PrivNext(Environment* ev, FW_CProxyFrame* proxyFrame);
- ODFrame* PrivPrevious(Environment* ev, FW_CProxyFrame* proxyFrame);
-
- private:
- FW_CProxyProxyFrameIterator fIterator;
- ODFrame* fCurrentFrame;
- };
-
- //========================================================================================
- // class FW_CFrameProxyFrameIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CFrameProxyFrameIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CFrameProxyFrameIterator(const FW_CEmbeddingFrame* frame);
- ~FW_CFrameProxyFrameIterator();
-
- FW_CProxyFrame* First()
- {return (FW_CProxyFrame*)fIterator->First();}
- FW_CProxyFrame* Next()
- {return (FW_CProxyFrame*)fIterator->Next();}
- FW_CProxyFrame* Last()
- {return (FW_CProxyFrame*)fIterator->Last();}
- FW_CProxyFrame* Previous()
- {return (FW_CProxyFrame*)fIterator->Previous();}
- FW_Boolean IsNotComplete()
- {return fIterator->IsNotComplete();}
-
- private:
- FW_COrderedCollectionIterator *fIterator;
- };
-
- //========================================================================================
- // class FW_CFrameEmbeddedFrameIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CFrameEmbeddedFrameIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CFrameEmbeddedFrameIterator(Environment* ev, const FW_CEmbeddingFrame* frame);
- ~FW_CFrameEmbeddedFrameIterator();
-
- ODFrame* First(Environment* ev);
- ODFrame* Next(Environment* ev);
- ODFrame* Last(Environment* ev);
- ODFrame* Previous(Environment* ev);
- FW_Boolean IsNotComplete(Environment* ev)
- {return fCurrentFrame != NULL;}
-
- private:
- ODFrame* PrivNext(Environment* ev, FW_CProxyFrame* proxyFrame);
- ODFrame* PrivPrevious(Environment* ev, FW_CProxyFrame* proxyFrame);
-
- private:
- FW_CFrameProxyFrameIterator fIterator;
- ODFrame* fCurrentFrame;
- };
-
- //========================================================================================
- // class FW_CPartPublishIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CPartPublishIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CPartPublishIterator(const FW_CPart* part);
- ~FW_CPartPublishIterator();
-
- FW_CPublishLink* First()
- {return (FW_CPublishLink*)fIterator->First();}
- FW_CPublishLink* Next()
- {return (FW_CPublishLink*)fIterator->Next();}
- FW_CPublishLink* Last()
- {return (FW_CPublishLink*)fIterator->Last();}
- FW_CPublishLink* Previous()
- {return (FW_CPublishLink*)fIterator->Previous();}
- FW_Boolean IsNotComplete()
- {return fIterator->IsNotComplete();}
-
- private:
- FW_COrderedCollectionIterator* fIterator;
- };
-
- //========================================================================================
- // class FW_CPartSubscribeIterator
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CPartSubscribeIterator FW_AUTO_DESTRUCT_OBJECT
- {
- public:
- FW_CPartSubscribeIterator(const FW_CPart* part);
- ~FW_CPartSubscribeIterator();
-
- FW_CSubscribeLink* First()
- {return (FW_CSubscribeLink*)fIterator->First();}
- FW_CSubscribeLink* Next()
- {return (FW_CSubscribeLink*)fIterator->Next();}
- FW_CSubscribeLink* Last()
- {return (FW_CSubscribeLink*)fIterator->Last();}
- FW_CSubscribeLink* Previous()
- {return (FW_CSubscribeLink*)fIterator->Previous();}
- FW_Boolean IsNotComplete()
- {return fIterator->IsNotComplete();}
-
- private:
- FW_COrderedCollectionIterator* fIterator;
- };
-
- #if FW_LIB_EXPORT_PRAGMAS
- #pragma lib_export off
- #endif
-
- #endif
-